Compositional Model Checking of Ada Tasking
نویسنده
چکیده
Model checking 7] has proven to be an eeec-tive analysis tool for domains such as hardware circuits and communication protocols. However, it has not yet been widely applied to more general concurrent systems, such as those realized by Ada multi-tasking programs. A major impediment to the use of model checking in such systems is the exponential growth of the state space, which results from the parallel composition of component tasks. Various compo-sitional approaches have been proposed to address this problem, in which the parts of a system are analyzed separately, and then the results are combined into inferences about the whole. One of the more promising of these techniques is called compositional minimization 6], which eliminates each component's \un-interesting" states as the model checking proceeds; this in turn can lead to a signiicant reduction in the composite state-space. In this paper we evaluate the application of this approach to Ada multi-tasking programs, particularly highlighting the design choices made to accommodate Ada's semantics. We also discuss the types of systems (and properties) for which this method produces signiicant time/space savings, as well as those for which the savings are less pronounced .
منابع مشابه
Compositional Petri net models of advanced tasking in Ada-95
The Ada language has been designed to support development of concurrent and distributed software. While the Ada-83 standard de®ned the basic mechanisms of rendezvous-based tasking, the Ada-95 standard signi®cantly extended this capability with the introduction of several advanced tasking constructs. We present and discuss formal models of these key tasking constructs using the Petri net model. ...
متن کاملAutomatic Translation of Ada-ECATNet Using Rewriting Logic
One major difficulty that faces developers of concurrent and distributed software is analysis for concurrency based faults like deadlocks. Petri nets are used extensively in the verification of correctness of concurrent programs. ECATNets are a category of algebraic Petri nets based on a sound combination of algebraic abstract types and high-level Petri nets. ECATNets have 'sound' and 'complete...
متن کاملA Formal Model of a Run-Time Kernel for Ravenscar
The Ravenscar tasking profile for Ada 95 has been designed to allow implementation of highly safety critical systems in Ada. Ravenscar defines a tasking run-time system with deterministic behaviour and low complexity. We provide a formal model of the primitives provided by Ravenscar including exceptions. This formal model can be used to verify safety properties of applications targeting a Raven...
متن کاملOn the Timed Automata-Based Verification of Ravenscar Systems
The Ravenscar profile for Ada enforces several restrictions on the usage of general-purpose tasking constructs, thereby facilitating most analysis tasks and in particular functional and timing verification using model checking. This paper presents an experiment in translating the Ravenscar fragment of Ada into the input language of a timed model checker (IF [7, 8]), discusses the difficulties a...
متن کاملBoss/Ada: An Open Source Ada 95 Safety Kit ( A dependable open source embedded operating system for GNAT)
Ada has been successfully used in many dependable real−time applications, which have undoubtedly benefit of its major strengths: The well defined language semantics [1], the strong type checking, structuring mechanisms like packages and not to forget the Ada Semantic Interface Standard [2] supporting the development of code analysis, verification and testing tools. But an Ada system can not be ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1994